import pandas as pd


def filter_rd_department(input_file, output_file):
    try:
        # 读取 Excel 文件
        excel_file = pd.ExcelFile(input_file)

        # 获取指定工作表中的数据
        df = excel_file.parse('Sheet1')

        # 查看数据的基本信息
        print('数据基本信息：')
        df.info()

        # 查看数据集行数和列数
        rows, columns = df.shape

        if rows == 0:
            # 源数据为空的情况
            print('源数据为空，没有数据需要处理')
            # 创建空的 DataFrame
            result_df = pd.DataFrame(columns=['员工编号', '部门', '薪资'])
        else:
            # 源数据不为空的情况
            # 筛选出部门为研发部的员工信息
            result_df = df[df['部门'] == '研发部'].copy()

            # 查看筛选结果
            print(f'共筛选出 {len(result_df)} 条符合条件的数据')

            if len(result_df) == 0:
                print('没有找到部门为研发部的员工信息')
                # 创建空的 DataFrame，包含指定列
                result_df = pd.DataFrame(columns=['员工编号', '部门', '薪资'])

        # 将结果写入新的 Excel 文件
        with pd.ExcelWriter(output_file, engine='openpyxl') as writer:
            result_df.to_excel(writer, sheet_name='研发部员工', index=False)

        print(f'筛选结果已保存至 {output_file}')

    except FileNotFoundError:
        print(f"错误：找不到文件 {input_file}")
    except Exception as e:
        print(f"发生错误：{e}")


if __name__ == "__main__":
    # 输入和输出文件路径
    input_file = "datas/employees.xlsx"
    output_file = "datas/rd_department_employees.xlsx"

    # 执行部门筛选
    filter_rd_department(input_file, output_file)
